package com.globalwave.system.service;

import com.globalwave.common.ArrayOrderList;
import com.globalwave.common.ArrayPageList;
import com.globalwave.system.entity.SessionUser;
import com.globalwave.system.entity.User;
import com.globalwave.system.entity.UserCriterion;

public interface UserService {

    public ArrayPageList<User> query(
            UserCriterion userCriterion, 
            int pageIndex, 
            int pageSize, 
            ArrayOrderList orderList) 
    throws Exception ;
    
    public User create(User user,Long[] organization_ids) throws Exception ;
    public void update(User user, Long[] organization_ids) throws Exception ;
    public void delete(User user) throws Exception ;
    public void deleteAll(Long[] userIds) throws Exception ;
    public User find(Long user_id) throws Exception ;
    public User findByLoginId(String login_id) throws Exception ;
    public SessionUser login(User user, boolean isPosLogin) throws Exception ;
    public void changePassword(User user) throws Exception ;
}
